package com.baizhi.controller.common;

import cn.hutool.core.io.FileUtil;
import com.aliyun.oss.OSS;
import com.baizhi.oss.OSSConfig;
import com.baizhi.vo.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;
import java.util.UUID;

@RestController
@RequestMapping("common/oss")
public class OssController {
    @Autowired
    private OSS oss;

    @RequestMapping("importImg")
    public R importImg(MultipartFile file) throws IOException {
        /**
         * 文件名字处理
         * 1.获取后缀名
         * 2.UUID生成新的名字
         *
         * 第三方工具类 获取文件后缀名
         */
        String oldName = file.getOriginalFilename();

//        获取文件后缀名
        String suffix = FileUtil.getSuffix(oldName);

        /**
         * oss文件上传
         */
        String bucketName = "bzmall-07";
        // 上传文件到OSS时需要指定包含文件后缀在内的完整路径，例如abc/efg/123.jpg。

        String objectName = "brand/"+ UUID.randomUUID().toString().substring(1,4)+"."+suffix;

       // 上传文件到指定的存储空间（bucketName）并将其保存为指定的文件名称（objectName）。
       oss.putObject(bucketName, objectName, file.getInputStream());

//        bucketName+地域节点域名+图片路径
        String url = "https://bzmall-07.oss-cn-beijing.aliyuncs.com/"+objectName;

        return R.ok().put("url",url);
    }
}
